3 字符串

您所在的位置:网站首页 python2 字符串中包含字符 3 字符串

3 字符串

2023-06-04 23:46| 来源: 网络整理| 查看: 265

文章目录 一、替换空格1、题目链接2、题目简介3、涉及知识点4、分析5、完整解答 二、长度为三且各字符不同的子字符串1、题目链接2、题目简介3、涉及知识点4、分析5、完整解答 三、速算机器人1、题目链接2、题目简介3、涉及知识点4、分析5、完整解答 四、执行操作后的变量值1、题目链接2、题目简介3、涉及知识点4、分析5、完整解答

一、替换空格 1、题目链接

剑指Offer 05.替换空格

2、题目简介

请实现一个函数,把字符串s中的每个空格替换成"%20"。

3、涉及知识点

字符串

4、分析

输入: s = “we are happy .” 输出:"we%20are%20happy . " 将空格‘ ’ 替换为%20即可

5、完整解答 class Solution { public: string replaceSpace(string s) { string str; for (auto e : s) { if (e == ' ') { str.push_back('%'); str.push_back('2'); str.push_back('0'); } else { str.push_back(e); } } return str; } }; 二、长度为三且各字符不同的子字符串 1、题目链接

1876.长度为三且各字符不同的子字符串

2、题目简介

如果一个字符串不含有任何重复字符,我们称这个字符串为好字符串。 给你一个字符串s ,请你返回s中长度为3的好子字符串的数量。 注意,如果相同的好子字符串出现多次,每一次都应该被记入答案之中。 子字符串是一个字符串中连续的字符序列。

3、涉及知识点

字符串

4、分析

暴力,也可以用滑动窗口

5、完整解答 class Solution { public: int countGoodSubstrings(string s) { if (s.size() res++; } } return res; } }; 三、速算机器人 1、题目链接

LCP 17.速算机器人

2、题目简介

小扣在秋日市集发现了一款速算机器人。 店家对机器人说出两个数字(记作x和y),请小扣说出计算指令: "A”运算:使x= 2x + y; "B”运算:使y = 2y + X。 在本次游戏中,店家说出的数字为x =1和y =0,小扣说出的计算指令记作仅由大写字母A、B组成的字符串s ,字符串中字符的顺序表示计算顺序,请返回最终x 与y 的和为多少。

3、涉及知识点

数学、字符串、模拟

4、分析

法一:可以直接模拟 法二:寻找数学规律 目标结果是x+y 出现一个"A",有x+y=(2x+y)+y=2x+2y 出现一个"B",有x+y=x+(2y+x)=2x+2y 所以每出现一个A/B,都使x+y的值翻倍 因此结果是2len(s)

5、完整解答 class Solution { public: int calculate(string s) { int x = 1; int y = 0; for (int i = 0; s[i]; i++) { if (s[i] == 'A') { x = 2 * x + y; } else { y = 2 * y + x; } } return x + y; } }; 四、执行操作后的变量值 1、题目链接

2011.执行操作后的变量值

2、题目简介

存在一种仅支持4种操作和1个变量X的编程语言: ++X和X++使变量X的值加1 --X和X- -使变量X的值减1 最初,X的值是0 给你一个字符串数组operations,这是由操作组成的一个列表,返回执行所有操作后,X的最终值。

3、涉及知识点

数组、字符串、模拟

4、分析

暴力遍历

5、完整解答 class Solution { public: int finalValueAfterOperations(vector &operations) { int x = 0; for (auto str : operations) { for (auto e : str) { if (e == '+') { x++; break; } else if (e == '-') { x--; break; } } } return x; } };


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3